//
//  HomeViewController.swift
//  Beadhouse
//
//  Created by Apple on 2018/10/24.
//  Copyright © 2018年 wangdong. All rights reserved.
//

import UIKit
import Alamofire
import SwiftyJSON
import Kingfisher
import SnapKit

class HomeViewController: UITableViewController {
  //   lazy var tableView = UITableView.init(frame: UIScreen.main.bounds)
    lazy var dataArray = [HomeMoel]()
    
 // 设置数据源和代理
   
    override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationItem.title = ""
        self.view.backgroundColor = UIColor.white
        tableView.dataSource = self
        tableView.delegate = self
        tableView.estimatedRowHeight = 44.0
        tableView.rowHeight = UITableView.automaticDimension
        tableView.mj_header = MJRefreshNormalHeader()
        tableView.mj_header.setRefreshingTarget(self, refreshingAction:#selector(loadDate))
        tableView.mj_footer = MJRefreshAutoNormalFooter()
        tableView.register(HomeViewCell.classForCoder(), forCellReuseIdentifier: "ceshi")
        self.getData()
       
    }
    @objc func loadDate(){
       self .getData()
     // self.tableView.mj_header.endRefreshing()
    }
    
    func getData() -> Void {
        
        
        Alamofire.request("http://api.liwushuo.com/v2/channels/104/items?ad=2&gender=2&generation=2&limit=20&offset=0").responseJSON {
            (response)   in
            
            if let dic = response.result.value as? Dictionary<String, Any> {
                
                if let data = dic["data"] as? Dictionary<String, Any>, let arr = data["items"] as? Array<Dictionary<String, Any>> {
                    //print(arr)
                    self.dataArray = [HomeMoel].deserializeFrom(array: arr) ?? []
                    self.tableView.reloadData()
                    self.tableView.mj_header.endRefreshing()
                }
                
            }
            
        }
    }
    
    
//    // MARK: 下载解析数据
//    func getData() -> Void {
//
//        Alamofire.request("http://api.liwushuo.com/v2/channels/104/items?ad=2&gender=2&generation=2&limit=20&offset=0").responseJSON {
//            (response)   in
//            // 有错误就打印错误，没有就解析数据
//            if let Error = response.result.error
//            {
//                print(Error)
//            }
//            else if let jsonresult = response.result.value {
//               // let model = [HomeMoel].deserializeFrom(json: data)
//
//                // 用 SwiftyJSON 解析数据
//                //let JSOnDictory = JSON(jsonresult )
//               // let data =  JSOnDictory["data"]["items"].array
//
//
//               // static let model = [HomeMoel].deserializeFrom(json: data)
//
////                for dataDic in  data!
////                {
////
////                  //  let model =  HomeMoel.deserializeFrom(json: dataDic)
////                    //  ?? 这个符号，我怕有初学者忘记了的提醒一下，A ?? B  这是一个 NIL合并运算符，它的作用是如果 A 不是NIL 就返回前面可选类型参数 A 的确定值， 如果 A 是NIL 就返回后面 B 的值！A和B之间类型的注意点我就不说了，忘记了去看书，，哈哈哈
////
////                    model.cover_image_url = dataDic["cover_image_url"].string ?? ""
////                    model.title =  dataDic["title"].string ?? ""
////
////                    let  numString = String(format:"%d",dataDic["likes_count"].intValue )
////                    model.likecount = numString
////                    self.dataArray.append(model)
////
////                }
//
//                self.tableView.reloadData()
//                self.tableView.mj_header.endRefreshing()
//
//            }
//        }
//    }
    
   
    override func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.dataArray.count
    }
//    override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
//        return 80
//    }
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "ceshi", for: indexPath) as! HomeViewCell
        
        
        
        let model = self.dataArray[indexPath.row]
        

        cell.titleLab?.text = "\(model.likes_count)"
        cell.despLab?.text = model.title
        cell.imgView?.kf.setImage(with: ImageResource(downloadURL: (NSURL(string: model.cover_image_url)! as URL)), placeholder: UIImage(named: "test"), options: nil, progressBlock: nil, completionHandler: nil)
        
        
       //  cell.imageView.kf_setImageWithURL(NSURL(string: model.cover_image_url)!)
        
        return cell
        
    }
  

}
